package com.mm.cme.kotlin_001.level02.i_005_vars

import com.mm.cme.kotlin_001.utils.p
import com.mm.cme.kotlin_001.utils.pd

/**
 * Descriptions：可变参数
 * <p>
 * Author：ChenME
 * Date：2017/7/16
 * Email：ibelieve1210@163.com
 */
fun main(vararg args: String) {
    hello(0.123, 1, 2, 3, 6, 9, string = "hello")

    pd()
    // * 为spread operator，作用是展开数组（Array），
    // 目前只支持数组，不支持list
    // 只用于变长参数列表的实参
    // 不能重载
    val array = intArrayOf(1, 3, 5, 7)
    hello(string = "hello", ints = *array)
}

fun hello(double: Double = 3.0, vararg ints: Int, string: String,stringLast :String="默认参数") {
    p("$double, ")
    ints.forEach { p("$it, ") }
    p("$string, ")
    p(stringLast)
}